Event Stoming
Domain Eventを発見する方法
Domain Expert、開発者、アーキテクト、ステークホルダーもろもろを集めて、ワークショップ形式で行う
ホワイトボードや付箋があると良い
こんな感じの流れ
誰かがイベントを書き、
誰かがそれによって引き起こされるビジネスワークフロー書き、
誰かが、それによって起きるイベントを書き、
というのを連鎖させる
最後に、出し切った付箋を時系列に並べる
次にそれらのタスクをさらに細かいサブドメインに分割して繰り替えす
https://gyazo.com/bae22f1cd35a93162b8463042ea77bb0
Alberto BrandoliniのEvent Stomingの図
流れ
ユーザーがシステムにCommand(青)の実行を要求する
Aggregate(黄)は、Commandを処理し、自身の内部状態に従って、一連のEvent (橙)を発行する
EventはPolicies(紫)によって処理される
新しいCommand(青)が送信されることもある
Eventは、Read Modelを更新するProjections(緑)によって処理されることもある
read modelで提示された情報に基づいてユーザが新しいCommandを要求することで、またサイクルが始まる
色と概念の対応
Aggregate (黄)
DDDのCommand (青)
Projection (緑)
Policy (紫)
参考
/mrsekut-book-97816805025/022~
概要から実践例まで書いてる
https://speakerdeck.com/fatsushi/aws-dev-day-2023-e-3